home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / C / ODObject.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-13  |  13.5 KB  |  449 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ODObject.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_M_ODObject_h
  18. #define SOM_M_ODObject_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * -- This emitter treats Method Tokens as Thunks by default.
  25.  * -- Use the sc modifier "nothunks" to change this default
  26.  */
  27. #undef somresolve_
  28. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  29.  
  30. /*
  31.  * Define the class name as an object type
  32.  */
  33. #ifndef M_ODObject
  34. #define M_ODObject SOMObject
  35. #endif
  36. #include <somcls.h>
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. #ifndef SOMClass
  42.     #define SOMClass SOMObject
  43. #endif /* SOMClass */
  44. #ifndef SOMObject
  45.     #define SOMObject SOMObject
  46. #endif /* SOMObject */
  47. #ifndef ODFrame
  48.     #define ODFrame SOMObject
  49. #endif /* ODFrame */
  50. #ifndef ODFacet
  51.     #define ODFacet SOMObject
  52. #endif /* ODFacet */
  53. #ifndef ODObject
  54.     #define ODObject SOMObject
  55. #endif /* ODObject */
  56. #ifndef ODExtension
  57.     #define ODExtension SOMObject
  58. #endif /* ODExtension */
  59.  
  60. /*
  61.  * End of user-defined types.
  62.  */
  63.  
  64. #define M_ODObject_MajorVersion 0
  65. #define M_ODObject_MinorVersion 0
  66.  
  67. /*
  68.  * External name shortening if required
  69.  */
  70. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  71. #define M_ODObjectClassData d
  72. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  73. /*--------------Migration------------*/
  74.  
  75. #ifdef OLDIBMSOMAPISUPPORT
  76. #define M_ODObject_classObj somNewClassReference(M_ODObject)
  77. #define _M_ODObject M_ODObject_classObj
  78. #define M_ODObjectCClassData M_ODObjectClassData
  79. #define M_ODObjectNewClass(major,minor) somNewVersionedClassReference(M_ODObject,major,minor)
  80. #endif
  81.  
  82. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  83. #define M_ODObjectMetaClass SOMClass
  84.  
  85. #if PRAGMA_ALIGN_SUPPORTED
  86. #  pragma options align=power
  87. #endif
  88.  
  89. /*
  90.  * Declare the class data structure
  91.  */
  92. SOMEXTERN struct M_ODObjectClassDataStructure {
  93. #ifdef OLDIBMSOMAPISUPPORT
  94.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  95. #else
  96.     long zero;
  97. #endif
  98.     somStaticClassInfo *sci;
  99.     somDToken        instanceDataToken;
  100.     long reserved [3];
  101. } SOMDLINK M_ODObjectClassData;
  102.  
  103. #if PRAGMA_ALIGN_SUPPORTED
  104. #  pragma options align=reset
  105. #endif
  106.  
  107. #if !defined(ODObject_Class_Source) && !defined(M_ODObject_Class_Source) && !defined(SOM_Module_odobject_Source)
  108. #if PRAGMA_IMPORT_SUPPORTED
  109. #pragma import list M_ODObjectClassData
  110. #endif
  111. #endif
  112.  
  113.  
  114. /*
  115.  * New macro for M_ODObject
  116.  */
  117. #define M_ODObjectNew() somNewObject(M_ODObject)
  118.  
  119. /*
  120.  * Override method: somNew
  121.  */
  122. #define M_ODObject_somNew(somSelf) \
  123.     SOMClass_somNew(somSelf)
  124. #ifndef SOM_DONT_USE_INHERITED_MACROS
  125. #define M_ODObject_somMakeDynamicClassReference SOMClass_somMakeDynamicClassReference
  126. #define M_ODObject_somGetInstancePartSize SOMClass_somGetInstancePartSize
  127. #define M_ODObject_somGetInstanceSize SOMClass_somGetInstanceSize
  128. #define M_ODObject_somGetName SOMClass_somGetName
  129. #define M_ODObject_somGetInstanceToken SOMClass_somGetInstanceToken
  130. #define M_ODObject_somGetNumMethods SOMClass_somGetNumMethods
  131. #define M_ODObject_somGetNumStaticMethods SOMClass_somGetNumStaticMethods
  132. #define M_ODObject_somGetMethodData SOMClass_somGetMethodData
  133. #define M_ODObject_somGetMethodDescriptor SOMClass_somGetMethodDescriptor
  134. #define M_ODObject_somGetMethodToken SOMClass_somGetMethodToken
  135. #define M_ODObject_somAddDynamicMethod SOMClass_somAddDynamicMethod
  136. #define M_ODObject_somGetMethodIndex SOMClass_somGetMethodIndex
  137. #define M_ODObject_somGetNthMethodData SOMClass_somGetNthMethodData
  138. #define M_ODObject_somGetNthMethodInfo SOMClass_somGetNthMethodInfo
  139. #define M_ODObject_somFindMethod SOMClass_somFindMethod
  140. #define M_ODObject_somFindMethodOk SOMClass_somFindMethodOk
  141. #define M_ODObject_somFindSMethod SOMClass_somFindSMethod
  142. #define M_ODObject_somFindSMethodOk SOMClass_somFindSMethodOk
  143. #define M_ODObject_somLookupMethod SOMClass_somLookupMethod
  144. #define M_ODObject_somAllocate SOMClass_somAllocate
  145. #define M_ODObject_somDeallocate SOMClass_somDeallocate
  146. #define M_ODObject_somClassReady SOMClass_somClassReady
  147. #define M_ODObject_somGetVersionNumbers SOMClass_somGetVersionNumbers
  148. #define M_ODObject_somCheckVersion SOMClass_somCheckVersion
  149. #define M_ODObject_somDescendedFrom SOMClass_somDescendedFrom
  150. #define M_ODObject_somSupportsMethod SOMClass_somSupportsMethod
  151. #define M_ODObject_somNewNoInit SOMClass_somNewNoInit
  152. #define M_ODObject_somRenew SOMClass_somRenew
  153. #define M_ODObject_somRenewNoInit SOMClass_somRenewNoInit
  154. #define M_ODObject_somRenewNoZero SOMClass_somRenewNoZero
  155. #define M_ODObject_somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
  156. #define M_ODObject_somGetParents SOMClass_somGetParents
  157. #define M_ODObject_somInit SOMObject_somInit
  158. #define M_ODObject_somUninit SOMObject_somUninit
  159. #define M_ODObject_somDuplicateReference SOMObject_somDuplicateReference
  160. #define M_ODObject_somCompareReference SOMObject_somCompareReference
  161. #define M_ODObject_somRelease SOMObject_somRelease
  162. #define M_ODObject_somFree SOMObject_somFree
  163. #define M_ODObject_somCanDelete SOMObject_somCanDelete
  164. #define M_ODObject_somGetClass SOMObject_somGetClass
  165. #define M_ODObject_somGetClassName SOMObject_somGetClassName
  166. #define M_ODObject_somGetSize SOMObject_somGetSize
  167. #define M_ODObject_somIsA SOMObject_somIsA
  168. #define M_ODObject_somRespondsTo SOMObject_somRespondsTo
  169. #define M_ODObject_somIsInstanceOf SOMObject_somIsInstanceOf
  170. #define M_ODObject_somDispatch SOMObject_somDispatch
  171. #define M_ODObject_somClassDispatch SOMObject_somClassDispatch
  172. #define M_ODObject_somCastObj SOMObject_somCastObj
  173. #define M_ODObject_somResetObj SOMObject_somResetObj
  174. #define M_ODObject_somPrintSelf SOMObject_somPrintSelf
  175. #define M_ODObject_somDumpSelf SOMObject_somDumpSelf
  176. #define M_ODObject_somDumpSelfInt SOMObject_somDumpSelfInt
  177. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  178.  
  179. #endif       /* SOM_M_ODObject_h */
  180.  
  181. #ifndef SOM_ODObject_h
  182. #define SOM_ODObject_h
  183.  
  184.  
  185. /*
  186.  * Passthru lines: File: "C.h", "before"
  187.  */
  188.  
  189. #include <ODTypes.h>
  190.  
  191.  
  192.  
  193. #include <som.h>
  194.  
  195. /*
  196.  * -- This emitter treats Method Tokens as Thunks by default.
  197.  * -- Use the sc modifier "nothunks" to change this default
  198.  */
  199. #undef somresolve_
  200. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  201.  
  202. /*
  203.  * Define the class name as an object type
  204.  */
  205. #ifndef ODObject
  206. #define ODObject SOMObject
  207. #endif
  208. #include <somobj.h>
  209.  
  210. /*
  211.  * Start of user-defined types:
  212.  */
  213.  
  214. /*
  215.  * End of user-defined types.
  216.  */
  217.  
  218. #define ODObject_MajorVersion 1
  219. #define ODObject_MinorVersion 0
  220.  
  221. /*
  222.  * External name shortening if required
  223.  */
  224. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  225. #define ODObjectClassData d
  226. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  227.  
  228. /*
  229.  * Include the meta class file
  230.  */
  231. #include <ODObject.h>
  232. /*--------------Migration------------*/
  233.  
  234. #ifdef OLDIBMSOMAPISUPPORT
  235. #define ODObject_classObj somNewClassReference(ODObject)
  236. #define _ODObject ODObject_classObj
  237. #define ODObjectCClassData ODObjectClassData
  238. #define ODObjectNewClass(major,minor) somNewVersionedClassReference(ODObject,major,minor)
  239. #endif
  240.  
  241. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  242. #define ODObjectMetaClass M_ODObject
  243.  
  244. #if PRAGMA_ALIGN_SUPPORTED
  245. #  pragma options align=power
  246. #endif
  247.  
  248. /*
  249.  * Declare the class data structure
  250.  */
  251. SOMEXTERN struct ODObjectClassDataStructure {
  252. #ifdef OLDIBMSOMAPISUPPORT
  253.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  254. #else
  255.     long zero;
  256. #endif
  257.     somStaticClassInfo *sci;
  258.     somDToken        instanceDataToken;
  259.     long reserved [3];
  260.     somMToken InitObject;
  261.     somMToken HasExtension;
  262.     somMToken AcquireExtension;
  263.     somMToken ReleaseExtension;
  264.     somMToken Purge;
  265.     somMToken IsEqualTo;
  266.     somMToken SubClassResponsibility;
  267. } SOMDLINK ODObjectClassData;
  268.  
  269. #if PRAGMA_ALIGN_SUPPORTED
  270. #  pragma options align=reset
  271. #endif
  272.  
  273. #if !defined(ODObject_Class_Source) && !defined(SOM_Module_odobject_Source)
  274. #if PRAGMA_IMPORT_SUPPORTED
  275. #pragma import list ODObjectClassData
  276. #endif
  277. #endif
  278.  
  279.  
  280. /*
  281.  * New macro for ODObject
  282.  */
  283. #define ODObjectNew() somNewObject(ODObject)
  284.  
  285. /*
  286.  * Override method: somInit
  287.  */
  288. #define ODObject_somInit(somSelf) \
  289.     SOMObject_somInit(somSelf)
  290.  
  291. /*
  292.  * Override method: somUninit
  293.  */
  294. #define ODObject_somUninit(somSelf) \
  295.     SOMObject_somUninit(somSelf)
  296.  
  297. /*
  298.  * New Method: InitObject
  299.  */
  300. typedef void   (SOMLINK *somTD_ODObject_InitObject)(ODObject *somSelf, Environment *ev);
  301. #define somMD_ODObject_InitObject "::ODObject::InitObject"
  302. #define ODObject_InitObject(somSelf,ev) \
  303.     (SOM_Resolve(somSelf, ODObject, InitObject) \
  304.     (somSelf,ev))
  305. #ifndef SOMGD_InitObject
  306.     #if (defined(_InitObject) || defined(__InitObject))
  307.         #undef _InitObject
  308.         #undef __InitObject
  309.         #define SOMGD_InitObject 1
  310.     #else
  311.         #define _InitObject ODObject_InitObject
  312.     #endif /* _InitObject */
  313. #endif /* SOMGD_InitObject */
  314.  
  315. /*
  316.  * New Method: HasExtension
  317.  */
  318. typedef ODBoolean   (SOMLINK *somTD_ODObject_HasExtension)(ODObject *somSelf, Environment *ev,
  319.         ODType extensionName);
  320. #define somMD_ODObject_HasExtension "::ODObject::HasExtension"
  321. #define ODObject_HasExtension(somSelf,ev,extensionName) \
  322.     (SOM_Resolve(somSelf, ODObject, HasExtension) \
  323.     (somSelf,ev,extensionName))
  324. #ifndef SOMGD_HasExtension
  325.     #if (defined(_HasExtension) || defined(__HasExtension))
  326.         #undef _HasExtension
  327.         #undef __HasExtension
  328.         #define SOMGD_HasExtension 1
  329.     #else
  330.         #define _HasExtension ODObject_HasExtension
  331.     #endif /* _HasExtension */
  332. #endif /* SOMGD_HasExtension */
  333.  
  334. /*
  335.  * New Method: AcquireExtension
  336.  */
  337. typedef ODExtension*   (SOMLINK *somTD_ODObject_AcquireExtension)(ODObject *somSelf, Environment *ev,
  338.         ODType extensionName);
  339. #define somMD_ODObject_AcquireExtension "::ODObject::AcquireExtension"
  340. #define ODObject_AcquireExtension(somSelf,ev,extensionName) \
  341.     (SOM_Resolve(somSelf, ODObject, AcquireExtension) \
  342.     (somSelf,ev,extensionName))
  343. #ifndef SOMGD_AcquireExtension
  344.     #if (defined(_AcquireExtension) || defined(__AcquireExtension))
  345.         #undef _AcquireExtension
  346.         #undef __AcquireExtension
  347.         #define SOMGD_AcquireExtension 1
  348.     #else
  349.         #define _AcquireExtension ODObject_AcquireExtension
  350.     #endif /* _AcquireExtension */
  351. #endif /* SOMGD_AcquireExtension */
  352.  
  353. /*
  354.  * New Method: ReleaseExtension
  355.  */
  356. typedef void   (SOMLINK *somTD_ODObject_ReleaseExtension)(ODObject *somSelf, Environment *ev,
  357.         ODExtension* extension);
  358. #define somMD_ODObject_ReleaseExtension "::ODObject::ReleaseExtension"
  359. #define ODObject_ReleaseExtension(somSelf,ev,extension) \
  360.     (SOM_Resolve(somSelf, ODObject, ReleaseExtension) \
  361.     (somSelf,ev,extension))
  362. #ifndef SOMGD_ReleaseExtension
  363.     #if (defined(_ReleaseExtension) || defined(__ReleaseExtension))
  364.         #undef _ReleaseExtension
  365.         #undef __ReleaseExtension
  366.         #define SOMGD_ReleaseExtension 1
  367.     #else
  368.         #define _ReleaseExtension ODObject_ReleaseExtension
  369.     #endif /* _ReleaseExtension */
  370. #endif /* SOMGD_ReleaseExtension */
  371.  
  372. /*
  373.  * New Method: Purge
  374.  */
  375. typedef ODSize   (SOMLINK *somTD_ODObject_Purge)(ODObject *somSelf, Environment *ev,
  376.         ODSize size);
  377. #define somMD_ODObject_Purge "::ODObject::Purge"
  378. #define ODObject_Purge(somSelf,ev,size) \
  379.     (SOM_Resolve(somSelf, ODObject, Purge) \
  380.     (somSelf,ev,size))
  381. #ifndef SOMGD_Purge
  382.     #if (defined(_Purge) || defined(__Purge))
  383.         #undef _Purge
  384.         #undef __Purge
  385.         #define SOMGD_Purge 1
  386.     #else
  387.         #define _Purge ODObject_Purge
  388.     #endif /* _Purge */
  389. #endif /* SOMGD_Purge */
  390.  
  391. /*
  392.  * New Method: IsEqualTo
  393.  */
  394. typedef ODBoolean   (SOMLINK *somTD_ODObject_IsEqualTo)(ODObject *somSelf, Environment *ev,
  395.         ODObject* object);
  396. #define somMD_ODObject_IsEqualTo "::ODObject::IsEqualTo"
  397. #define ODObject_IsEqualTo(somSelf,ev,object) \
  398.     (SOM_Resolve(somSelf, ODObject, IsEqualTo) \
  399.     (somSelf,ev,object))
  400. #ifndef SOMGD_IsEqualTo
  401.     #if (defined(_IsEqualTo) || defined(__IsEqualTo))
  402.         #undef _IsEqualTo
  403.         #undef __IsEqualTo
  404.         #define SOMGD_IsEqualTo 1
  405.     #else
  406.         #define _IsEqualTo ODObject_IsEqualTo
  407.     #endif /* _IsEqualTo */
  408. #endif /* SOMGD_IsEqualTo */
  409.  
  410. /*
  411.  * New Method: SubClassResponsibility
  412.  */
  413. typedef void   (SOMLINK *somTD_ODObject_SubClassResponsibility)(ODObject *somSelf, Environment *ev);
  414. #define somMD_ODObject_SubClassResponsibility "::ODObject::SubClassResponsibility"
  415. #define ODObject_SubClassResponsibility(somSelf,ev) \
  416.     (SOM_Resolve(somSelf, ODObject, SubClassResponsibility) \
  417.     (somSelf,ev))
  418. #ifndef SOMGD_SubClassResponsibility
  419.     #if (defined(_SubClassResponsibility) || defined(__SubClassResponsibility))
  420.         #undef _SubClassResponsibility
  421.         #undef __SubClassResponsibility
  422.         #define SOMGD_SubClassResponsibility 1
  423.     #else
  424.         #define _SubClassResponsibility ODObject_SubClassResponsibility
  425.     #endif /* _SubClassResponsibility */
  426. #endif /* SOMGD_SubClassResponsibility */
  427. #ifndef SOM_DONT_USE_INHERITED_MACROS
  428. #define ODObject_somDuplicateReference SOMObject_somDuplicateReference
  429. #define ODObject_somCompareReference SOMObject_somCompareReference
  430. #define ODObject_somRelease SOMObject_somRelease
  431. #define ODObject_somFree SOMObject_somFree
  432. #define ODObject_somCanDelete SOMObject_somCanDelete
  433. #define ODObject_somGetClass SOMObject_somGetClass
  434. #define ODObject_somGetClassName SOMObject_somGetClassName
  435. #define ODObject_somGetSize SOMObject_somGetSize
  436. #define ODObject_somIsA SOMObject_somIsA
  437. #define ODObject_somRespondsTo SOMObject_somRespondsTo
  438. #define ODObject_somIsInstanceOf SOMObject_somIsInstanceOf
  439. #define ODObject_somDispatch SOMObject_somDispatch
  440. #define ODObject_somClassDispatch SOMObject_somClassDispatch
  441. #define ODObject_somCastObj SOMObject_somCastObj
  442. #define ODObject_somResetObj SOMObject_somResetObj
  443. #define ODObject_somPrintSelf SOMObject_somPrintSelf
  444. #define ODObject_somDumpSelf SOMObject_somDumpSelf
  445. #define ODObject_somDumpSelfInt SOMObject_somDumpSelfInt
  446. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  447.  
  448. #endif       /* SOM_ODObject_h */
  449.